Learn R Programming

scpropreg (version 1.0)

QFASA diet estimates using various distances: QFASA diet estimates using various distances

Description

QFASA diet estimates using various distances.

Usage

kld(y, x, tol = 1e-8, maxit = 50000, alpha = 0.1)
ait(y, x, tol = 1e-8, maxit = 50000, alpha = 0.01)
lsq(y, x, tol = 1e-8, maxit = 50000, alpha = 0.01)
jsd(y, x, tol = 1e-8, maxit = 300000, alpha = 0.01)
lr(y, x, tol = 1e-8, maxit = 100)

Value

A list including:

coefficients

A numerical matrix with the positively constrained beta coefficients.

value

A numerical vector with the value of the objective function.

iters

The number of iterations required until termination of the algorithm.

Arguments

y

The response variable. The predator's food composition. A vector with values between 0 and 1 that sum to 1. For some functions, zero values are allowed.

x

A matrix with independent variables, values between 0 and 1. Each column contains a prey's diet. The column-wise sums are equal to 1.

tol

The tolerance value to terminate the algorithm.

maxit

The maximum iterations allowed.

alpha

The step-size parameter of the fixed points iteration algorithm. This is similar to the \(\eta\) parameter in the gradient descent algorithm.

Author

Michail Tsagris.

R implementation and documentation: Michail Tsagris mtsagris@uoc.gr.

Details

The function estimates the betas that minimize a distance. The fitted values are linear constraints of the observed xs. The constraint is that all beta coefficients are positive and sum to 1. That is \(\hat{y}_i= \sum_{j=1}\bm{x}_{ij}\beta_j\) such that \(0\leq \beta_j \leq 1\) and \(\sum_{j=1}^d\beta_j=1\).

References

Iverson Sara J., Field Chris, Bowen W. Don and Blanchard Wade (2004) Quantitative Fatty Acid Signature Analysis: A New Method of Estimating Predator Diets. Ecological Monographs, 74(2): 211-235.

See Also

mkld, pcls

Examples

Run this code
x <- matrix(runif(30 * 8), ncol = 30)
x <- t( x / rowSums(x) )
y <- runif(30)
y <- y / sum(y)
kld(y, x)
ait(y, x)
lsq(y, x)
lr(y, x)

Run the code above in your browser using DataLab